"""
匿名函数

函数本身，也可以作为参数传入另一个函数内

==============================================
lambda匿名函数

- def关键字，可以定义带有名称的函数
- lambda关键字，可以定义匿名函数（无名称）

有名称的函数，可以基于名称重复使用。
无名称的匿名函数，只可临时使用一次。

匿名函数定义语法
- lambda 传入参数 ：函数体（一行代码）

-- lambda 是关键字，表示定义匿名函数
-- 传入参数表示匿名函数的形式参数，如：x, y 表示接收2个形式参数
-- 函数体，就是函数的执行逻辑，要注意：只能写一行，无法写多行代码


"""


def compute(x, y, op):
    if op == "+":
        return x + y
    if op == "-":
        return x - y
    if op == "*":
        return x * y


def test_func(c1):
    result1 = c1(1, 2, "+")
    result2 = c1(1, 2, "-")
    result3 = c1(1, 2, "*")
    print(result1)
    print(result2)
    print(result3)


# 函数compute，作为参数，传入了test_func函数中使用。
test_func(compute)

# 函数本身是可以作为参数，传入另一个函数中进行使用的。
# 将函数传入的作用在于：传入计算逻辑，而非传入数据。


# lambda 匿名函数
def contin(age):
    result = age(7, 9)
    print(result)


contin(lambda x, y: x + y)
